package com.starry.compose_study.state.one

import androidx.lifecycle.LiveData
import androidx.lifecycle.MutableLiveData
import androidx.lifecycle.ViewModel

class TodoViewModel : ViewModel() {
    private var _todoItems = MutableLiveData(listOf<TodoItem>())
    val todoItems: LiveData<List<TodoItem>> = _todoItems
    fun addItem(item: TodoItem) {
        //注意这里需要改变集合，才会算作状态更新
        _todoItems.value = _todoItems.value!! + listOf(item)
        //如果这样，仅仅是改变了集合中的内容，集合本身并没有改变
//        _todoItems.value[_todoItems.value!!.size+1]=item
    }

    fun removeItem(item: TodoItem) {
        //通过toMutableList()转成一个新的集合
        _todoItems.value = _todoItems.value!!.toMutableList().also {
            it.remove(item)
        }
    }
}